#ifndef LAURIN_MODEL_H_
#define LAURIN_MODEL_H_

#include "../core/laurin-network.h"
#include <gtkmm/treemodel.h>
#include <gtkmm/treestore.h>
#include <gtkmm/treemodelcolumn.h>


enum LaurinRecordType
{
	NETWORK = 0,
	ACCESS_POINT = 1,
	CLIENT = 2,
	INFO = 3
};


class Laurin80211NetworksModel
{
	public:

		Laurin80211NetworksModel();

		Glib::RefPtr<Gtk::TreeStore> getStore();
		void fillStore(LaurinNetworkSet* set);


	private:

		class Laurin80211ModelRecord: public Gtk::TreeModel::ColumnRecord
		{

			public:

				Laurin80211ModelRecord();


				Gtk::TreeModelColumn<Glib::ustring> ssid;
				Gtk::TreeModelColumn<Glib::ustring> mac;
				Gtk::TreeModelColumn<Glib::ustring> distance;
				Gtk::TreeModelColumn<int> type;
		};

		Glib::RefPtr<Gtk::TreeStore> _store;
		Laurin80211ModelRecord _columns;
};

#endif
